using System;
using NUnit.Framework;
using dnAnalytics.Math;
using dnAnalytics.UnitTests;
namespace dnAnalytics.UnitTests.Math
{
	[TestFixture]
	[Category("Managed")]
	public class ComplexMath_MinusTest
	{
		[Test]
		public void Minus()
		{
			Complex a, b; 
			a = new Complex(1.19209289550780998537e-7,1.19209289550780998537e-7);
			b = new Complex(1.19209289550780998537e-7,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,0.0), 1e-016);
			a = new Complex(0.0,1.19209289550780998537e-7);
			b = new Complex(0.0,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(0.0,-1.19209289550780998537e-7);
			b = new Complex(0.0,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,-5.00000119209289550781e-1), 1e-016);
			a = new Complex(0.0,5.0e-1);
			b = new Complex(0.0,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(0.0,-5.0e-1);
			b = new Complex(0.0,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,-1.5), 1e-016);
			a = new Complex(0.0,1.0);
			b = new Complex(0.0,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(0.0,-1.0);
			b = new Complex(0.0,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,-3.0), 1e-016);
			a = new Complex(0.0,2.0);
			b = new Complex(0.0,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(0.0,-2.0);
			b = new Complex(0.0,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,-8.38861e6), 1e-016);
			a = new Complex(0.0,8.388608e6);
			b = new Complex(0.0,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(0.0,-8.388608e6);
			b = new Complex(1.19209289550780998537e-7,0.0);
			TestHelper.TestRelativeError(a - b, new Complex(-1.19209289550780998537e-7,-8.388608e6), 1e-016);
			a = new Complex(1.19209289550780998537e-7,0.0);
			b = new Complex(-1.19209289550780998537e-7,0.0);
			TestHelper.TestRelativeError(a - b, new Complex(2.38418579101561997074e-7,0.0), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,0.0);
			b = new Complex(1.19209289550780998537e-7,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(-2.38418579101561997074e-7,-1.19209289550780998537e-7), 1e-016);
			a = new Complex(1.19209289550780998537e-7,1.19209289550780998537e-7);
			b = new Complex(1.19209289550780998537e-7,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(1.19209289550780998537e-7,-1.19209289550780998537e-7);
			b = new Complex(-1.19209289550780998537e-7,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(2.38418579101561997074e-7,-2.38418579101561997074e-7), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,1.19209289550780998537e-7);
			b = new Complex(-1.19209289550780998537e-7,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,-1.19209289550780998537e-7);
			b = new Complex(1.19209289550780998537e-7,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(-2.38418579101561997074e-7,-5.00000119209289550781e-1), 1e-016);
			a = new Complex(1.19209289550780998537e-7,5.0e-1);
			b = new Complex(1.19209289550780998537e-7,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(1.19209289550780998537e-7,-5.0e-1);
			b = new Complex(-1.19209289550780998537e-7,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(2.38418579101561997074e-7,-1.0), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,5.0e-1);
			b = new Complex(-1.19209289550780998537e-7,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,-5.0e-1);
			b = new Complex(1.19209289550780998537e-7,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(-2.38418579101561997074e-7,-1.5), 1e-016);
			a = new Complex(1.19209289550780998537e-7,1.0);
			b = new Complex(1.19209289550780998537e-7,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(1.19209289550780998537e-7,-1.0);
			b = new Complex(-1.19209289550780998537e-7,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(2.38418579101561997074e-7,-2.0), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,1.0);
			b = new Complex(-1.19209289550780998537e-7,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,-1.0);
			b = new Complex(1.19209289550780998537e-7,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(-2.38418579101561997074e-7,-3.0), 1e-016);
			a = new Complex(1.19209289550780998537e-7,2.0);
			b = new Complex(1.19209289550780998537e-7,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(1.19209289550780998537e-7,-2.0);
			b = new Complex(-1.19209289550780998537e-7,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(2.38418579101561997074e-7,-4.0), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,2.0);
			b = new Complex(-1.19209289550780998537e-7,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,-2.0);
			b = new Complex(1.19209289550780998537e-7,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(-2.38418579101561997074e-7,-8.38861e6), 1e-016);
			a = new Complex(1.19209289550780998537e-7,8.388608e6);
			b = new Complex(1.19209289550780998537e-7,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(1.19209289550780998537e-7,-8.388608e6);
			b = new Complex(-1.19209289550780998537e-7,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(2.38418579101561997074e-7,-1.6777216e7), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,8.388608e6);
			b = new Complex(-1.19209289550780998537e-7,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(-1.19209289550780998537e-7,-8.388608e6);
			b = new Complex(5.0e-1,0.0);
			TestHelper.TestRelativeError(a - b, new Complex(-5.00000119209289550781e-1,-8.388608e6), 1e-016);
			a = new Complex(5.0e-1,0.0);
			b = new Complex(-5.0e-1,0.0);
			TestHelper.TestRelativeError(a - b, new Complex(1.0,0.0), 1e-016);
			a = new Complex(-5.0e-1,0.0);
			b = new Complex(5.0e-1,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(-1.0,-1.19209289550780998537e-7), 1e-016);
			a = new Complex(5.0e-1,1.19209289550780998537e-7);
			b = new Complex(5.0e-1,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(5.0e-1,-1.19209289550780998537e-7);
			b = new Complex(-5.0e-1,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(1.0,-2.38418579101561997074e-7), 1e-016);
			a = new Complex(-5.0e-1,1.19209289550780998537e-7);
			b = new Complex(-5.0e-1,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(-5.0e-1,-1.19209289550780998537e-7);
			b = new Complex(5.0e-1,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(-1.0,-5.00000119209289550781e-1), 1e-016);
			a = new Complex(5.0e-1,5.0e-1);
			b = new Complex(5.0e-1,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(5.0e-1,-5.0e-1);
			b = new Complex(-5.0e-1,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(1.0,-1.0), 1e-016);
			a = new Complex(-5.0e-1,5.0e-1);
			b = new Complex(-5.0e-1,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(-5.0e-1,-5.0e-1);
			b = new Complex(5.0e-1,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(-1.0,-1.5), 1e-016);
			a = new Complex(5.0e-1,1.0);
			b = new Complex(5.0e-1,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(5.0e-1,-1.0);
			b = new Complex(-5.0e-1,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(1.0,-2.0), 1e-016);
			a = new Complex(-5.0e-1,1.0);
			b = new Complex(-5.0e-1,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(-5.0e-1,-1.0);
			b = new Complex(5.0e-1,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(-1.0,-3.0), 1e-016);
			a = new Complex(5.0e-1,2.0);
			b = new Complex(5.0e-1,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(5.0e-1,-2.0);
			b = new Complex(-5.0e-1,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(1.0,-4.0), 1e-016);
			a = new Complex(-5.0e-1,2.0);
			b = new Complex(-5.0e-1,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(-5.0e-1,-2.0);
			b = new Complex(5.0e-1,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(-1.0,-8.38861e6), 1e-016);
			a = new Complex(5.0e-1,8.388608e6);
			b = new Complex(5.0e-1,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(5.0e-1,-8.388608e6);
			b = new Complex(-5.0e-1,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(1.0,-1.6777216e7), 1e-016);
			a = new Complex(-5.0e-1,8.388608e6);
			b = new Complex(-5.0e-1,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(-5.0e-1,-8.388608e6);
			b = new Complex(1.0,0.0);
			TestHelper.TestRelativeError(a - b, new Complex(-1.5,-8.388608e6), 1e-016);
			a = new Complex(1.0,0.0);
			b = new Complex(-1.0,0.0);
			TestHelper.TestRelativeError(a - b, new Complex(2.0,0.0), 1e-016);
			a = new Complex(-1.0,0.0);
			b = new Complex(1.0,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(-2.0,-1.19209289550780998537e-7), 1e-016);
			a = new Complex(1.0,1.19209289550780998537e-7);
			b = new Complex(1.0,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(1.0,-1.19209289550780998537e-7);
			b = new Complex(-1.0,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(2.0,-2.38418579101561997074e-7), 1e-016);
			a = new Complex(-1.0,1.19209289550780998537e-7);
			b = new Complex(-1.0,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(-1.0,-1.19209289550780998537e-7);
			b = new Complex(1.0,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(-2.0,-5.00000119209289550781e-1), 1e-016);
			a = new Complex(1.0,5.0e-1);
			b = new Complex(1.0,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(1.0,-5.0e-1);
			b = new Complex(-1.0,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(2.0,-1.0), 1e-016);
			a = new Complex(-1.0,5.0e-1);
			b = new Complex(-1.0,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(-1.0,-5.0e-1);
			b = new Complex(1.0,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(-2.0,-1.5), 1e-016);
			a = new Complex(1.0,1.0);
			b = new Complex(1.0,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(1.0,-1.0);
			b = new Complex(-1.0,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(2.0,-2.0), 1e-016);
			a = new Complex(-1.0,1.0);
			b = new Complex(-1.0,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(-1.0,-1.0);
			b = new Complex(1.0,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(-2.0,-3.0), 1e-016);
			a = new Complex(1.0,2.0);
			b = new Complex(1.0,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(1.0,-2.0);
			b = new Complex(-1.0,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(2.0,-4.0), 1e-016);
			a = new Complex(-1.0,2.0);
			b = new Complex(-1.0,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(-1.0,-2.0);
			b = new Complex(1.0,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(-2.0,-8.38861e6), 1e-016);
			a = new Complex(1.0,8.388608e6);
			b = new Complex(1.0,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(1.0,-8.388608e6);
			b = new Complex(-1.0,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(2.0,-1.6777216e7), 1e-016);
			a = new Complex(-1.0,8.388608e6);
			b = new Complex(-1.0,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(-1.0,-8.388608e6);
			b = new Complex(2.0,0.0);
			TestHelper.TestRelativeError(a - b, new Complex(-3.0,-8.388608e6), 1e-016);
			a = new Complex(2.0,0.0);
			b = new Complex(-2.0,0.0);
			TestHelper.TestRelativeError(a - b, new Complex(4.0,0.0), 1e-016);
			a = new Complex(-2.0,0.0);
			b = new Complex(2.0,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(-4.0,-1.19209289550780998537e-7), 1e-016);
			a = new Complex(2.0,1.19209289550780998537e-7);
			b = new Complex(2.0,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(2.0,-1.19209289550780998537e-7);
			b = new Complex(-2.0,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(4.0,-2.38418579101561997074e-7), 1e-016);
			a = new Complex(-2.0,1.19209289550780998537e-7);
			b = new Complex(-2.0,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(-2.0,-1.19209289550780998537e-7);
			b = new Complex(2.0,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(-4.0,-5.00000119209289550781e-1), 1e-016);
			a = new Complex(2.0,5.0e-1);
			b = new Complex(2.0,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(2.0,-5.0e-1);
			b = new Complex(-2.0,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(4.0,-1.0), 1e-016);
			a = new Complex(-2.0,5.0e-1);
			b = new Complex(-2.0,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(-2.0,-5.0e-1);
			b = new Complex(2.0,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(-4.0,-1.5), 1e-016);
			a = new Complex(2.0,1.0);
			b = new Complex(2.0,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(2.0,-1.0);
			b = new Complex(-2.0,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(4.0,-2.0), 1e-016);
			a = new Complex(-2.0,1.0);
			b = new Complex(-2.0,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(-2.0,-1.0);
			b = new Complex(2.0,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(-4.0,-3.0), 1e-016);
			a = new Complex(2.0,2.0);
			b = new Complex(2.0,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(2.0,-2.0);
			b = new Complex(-2.0,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(4.0,-4.0), 1e-016);
			a = new Complex(-2.0,2.0);
			b = new Complex(-2.0,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(-2.0,-2.0);
			b = new Complex(2.0,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(-4.0,-8.38861e6), 1e-016);
			a = new Complex(2.0,8.388608e6);
			b = new Complex(2.0,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(2.0,-8.388608e6);
			b = new Complex(-2.0,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(4.0,-1.6777216e7), 1e-016);
			a = new Complex(-2.0,8.388608e6);
			b = new Complex(-2.0,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(-2.0,-8.388608e6);
			b = new Complex(8.388608e6,0.0);
			TestHelper.TestRelativeError(a - b, new Complex(-8.38861e6,-8.388608e6), 1e-016);
			a = new Complex(8.388608e6,0.0);
			b = new Complex(-8.388608e6,0.0);
			TestHelper.TestRelativeError(a - b, new Complex(1.6777216e7,0.0), 1e-016);
			a = new Complex(-8.388608e6,0.0);
			b = new Complex(8.388608e6,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(-1.6777216e7,-1.19209289550780998537e-7), 1e-016);
			a = new Complex(8.388608e6,1.19209289550780998537e-7);
			b = new Complex(8.388608e6,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(8.388608e6,-1.19209289550780998537e-7);
			b = new Complex(-8.388608e6,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(1.6777216e7,-2.38418579101561997074e-7), 1e-016);
			a = new Complex(-8.388608e6,1.19209289550780998537e-7);
			b = new Complex(-8.388608e6,-1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.38418579101561997074e-7), 1e-016);
			a = new Complex(-8.388608e6,-1.19209289550780998537e-7);
			b = new Complex(8.388608e6,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(-1.6777216e7,-5.00000119209289550781e-1), 1e-016);
			a = new Complex(8.388608e6,5.0e-1);
			b = new Complex(8.388608e6,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(8.388608e6,-5.0e-1);
			b = new Complex(-8.388608e6,5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(1.6777216e7,-1.0), 1e-016);
			a = new Complex(-8.388608e6,5.0e-1);
			b = new Complex(-8.388608e6,-5.0e-1);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.0), 1e-016);
			a = new Complex(-8.388608e6,-5.0e-1);
			b = new Complex(8.388608e6,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(-1.6777216e7,-1.5), 1e-016);
			a = new Complex(8.388608e6,1.0);
			b = new Complex(8.388608e6,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(8.388608e6,-1.0);
			b = new Complex(-8.388608e6,1.0);
			TestHelper.TestRelativeError(a - b, new Complex(1.6777216e7,-2.0), 1e-016);
			a = new Complex(-8.388608e6,1.0);
			b = new Complex(-8.388608e6,-1.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,2.0), 1e-016);
			a = new Complex(-8.388608e6,-1.0);
			b = new Complex(8.388608e6,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(-1.6777216e7,-3.0), 1e-016);
			a = new Complex(8.388608e6,2.0);
			b = new Complex(8.388608e6,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(8.388608e6,-2.0);
			b = new Complex(-8.388608e6,2.0);
			TestHelper.TestRelativeError(a - b, new Complex(1.6777216e7,-4.0), 1e-016);
			a = new Complex(-8.388608e6,2.0);
			b = new Complex(-8.388608e6,-2.0);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,4.0), 1e-016);
			a = new Complex(-8.388608e6,-2.0);
			b = new Complex(8.388608e6,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(-1.6777216e7,-8.38861e6), 1e-016);
			a = new Complex(8.388608e6,8.388608e6);
			b = new Complex(8.388608e6,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(8.388608e6,-8.388608e6);
			b = new Complex(-8.388608e6,8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(1.6777216e7,-1.6777216e7), 1e-016);
			a = new Complex(-8.388608e6,8.388608e6);
			b = new Complex(-8.388608e6,-8.388608e6);
			TestHelper.TestRelativeError(a - b, new Complex(0.0,1.6777216e7), 1e-016);
			a = new Complex(-8.388608e6,-8.388608e6);
			b = new Complex(0.0,1.19209289550780998537e-7);
			TestHelper.TestRelativeError(a - b, new Complex(-8.388608e6,-8.38860800000011920929e6), 1e-016);
		}
	}
}
